<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html>
<head>
  <title>Konstrukt</title>
<style type="text/css">
body {
  font-family: Georgia, "Bitstream Vera Serif", "Times New Roman", serif;
  line-height: 150%;
  color : #666;
  background-color : #fff;
  margin : 0;
  padding : 1em 0em 1em 4em;
}
h1, h2, h3, h4 {
  line-height: 150%;
}
code, pre {
/*  font-family: "lucidia console", "courier";*/
}
h1 {
  color : #0c0;
  font-size : 400%;
}
h2, h3 {
  font-weight: normal;
}
h2 span {
  font-size: 50%;
  color: #0c0;
  font-family : "Trebuchet MS", "Lucida Sans", Arial, sans-serif;
  font-style: italic;
  position: relative;
  top: -1em;
  left: .5em;
}
a {
  color : #2aaaff;
  text-decoration : none;
  border-bottom : 1px solid #ccc;
}
a:hover {
  color : red;
  border-bottom : 1px solid red;
}
.column {
  width : 50%;
  float : left;
  margin-right : -1px; /* IE bug */
}
.column .wrapper {
  padding-right : 4em;
}
p.continuos {
  margin-top : 0;
}
h3 {
  margin : 0;
}
</style>
</head>
<body>

<div class="column" style="width:66%">
  <div class="wrapper">
    <h1>Konstrukt</h1>
    <p>
      A <a href="http://www.megginson.com/blogs/quoderat/2007/02/15/rest-the-quick-pitch/" title="Representational State Transfer">REST</a>-ful framework of controllers for PHP5.
    </p>
    <h2>Key Aspects</h2>
    <ul>
      <li>Controllers are resources</li>
      <li>URI-to-controller-mapping gives your application a logical structure</li>
      <li>Routing based on logic rather than rules</li>
      <li>Nested controllers supports composite view rendering</li>
      <li>Formcontroller provides filtering and validation</li>
    </ul>
    <h2>Design Goals</h2>
    <ul>
      <li>Embrace HTTP rather than hide it</li>
      <li>Enable the programmer, rather than automating</li>
      <li>Favour aggregation over code-generation or config-files</li>
      <li>Encourage encapsulation, and deter use of global scope</li>
      <li>Limit focus to the controller layer</li>
    </ul>
  </div>
</div>

<div class="column" style="width:33%">
  <div class="wrapper">
    <h2>Resources</h2>
    <h3>Download</h3>
    <p class="continuos">
      &rarr; <a href="http://konstrukt.googlecode.com/files/konstrukt-0.4.zip">Latest build (0.4)</a>
      <br/>
      &rarr; <a href="http://code.google.com/p/konstrukt/source/checkout">SVN repository</a>
    </p>
    <h3>Discussion &amp; support</h3>
    <p class="continuos">
      &rarr; <a href="http://groups.google.com/group/konstrukt" title="Discuss Konstrukt">Forum/Mailing list</a>
      <br/>
      &rarr; <a href="http://code.google.com/p/konstrukt/issues/list" title="Submit bugs or request improvements.">Bugs &amp; Feature requests</a>
    </p>
    <h2>Documentation</h2>
    <h3>Reference</h3>
    <p class="continuos">
      &rarr; <a href="apidocs.html">API reference</a>
      <br/>
      &rarr; <a href="classdiagram.png">Class Diagram</a>
    </p>
    <h3>Manual</h3>
    <p class="continuos">
      &rarr; <a href="introduction.html">Introduction to Konstrukt</a>
      <br/>
      &rarr; <a href="working-with-controllers.html">Working with controllers</a>
      <br/>
      &rarr; <a href="rendering-views.html">Rendering views</a>
      <br/>
      &rarr; <a href="using-forms.html">Using forms</a>
    </p>
  </div>
</div>

</body>
</html>
